/**!
 * index.js
 * Copyright(c) 2018 Tenny
 * MIT Licensed
 */
import axreq from 'axreq';

let VueReq = Object.create({});

VueReq.install = function (Vue, opts) {

  opts = opts || {};

  /**
   * 请求 json 格式的数据, 参数参考：
   *   https://www.npmjs.com/package/axreq -- json
   */
  Vue.prototype.$json = function () {
    let al = arguments.length;
    let cb = arguments[al - 1];
    let params = [];
    for (let i = 0; i <= al - 2; i++) {
      params.push(arguments[i]);
    }
    params.push(function (err, res) {
      if(err) {
        cb(err);
      } else {
        if(typeof opts.handler === 'function') { // 配置了全局拦截器
          opts.handler(res, cb);
        } else {
          cb(null, res);
        }
      }
    });
    axreq.json.apply(this, params);
  };
};

export default VueReq;
